package com.jilefojing.dao.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

import com.jilefojing.beans.enums.ItemTypeEnumForSource;
import com.jilefojing.beans.pojos.Statistics;

/**
 * 
 * @author 作者 jgshun
 * @date 创建时间 2016年07月19日 20时40分29秒
 */
@Repository
public interface IStatisticsMapper extends Mapper<Statistics>, MySqlMapper<Statistics> {

	/**
	 * 统计数据更新
	 * 
	 * @param id
	 *            更新目标id
	 * @param updateColumn
	 *            更新字段
	 * @param plus
	 *            是否加减 是加 否减
	 * @param value
	 *            加减值
	 */
	void updateCount(@Param("id") long id, @Param("updateColumn") String updateColumn, @Param("plus") boolean plus, @Param("value") int value);

	/**
	 * 统计非实体静态数据
	 * 
	 * @param itemType
	 * @param notEntityMaps
	 *            map:{itemId:,childIds}
	 * @return
	 */
	List<Statistics> getListForNotEntitys(@Param("itemType") ItemTypeEnumForSource itemType, @Param("notEntityMaps") Map<Long, List<Long>> notEntityMaps);
}